#pragma once

#include "nuraft.hxx"

using NuRaftBuffer = nuraft::buffer;
using NuRaftBufferPtr = nuraft::ptr<NuRaftBuffer>;
using NuRaftLogEntry = nuraft::log_entry;
using NuRaftLogEntryPtr = nuraft::ptr<NuRaftLogEntry>;
using NuRaftLogEntries = std::vector<nuraft::ptr<NuRaftLogEntry>>;
using NuRaftBufferSerializer = nuraft::buffer_serializer;
using NuRaftSnapshot = nuraft::snapshot;
using NuRaftSnapshotPtr = nuraft::ptr<nuraft::snapshot>;

using NuRaftServerState = nuraft::srv_state;
using NuRaftServerStatePtr = nuraft::ptr<nuraft::srv_state>;
using NuRaftServerConfig = nuraft::srv_config;
using NuRaftServerConfigPtr = nuraft::ptr<nuraft::srv_config>;
using NuRaftClusterConfig = nuraft::cluster_config;
using NuRaftClusterConfigPtr = nuraft::ptr<NuRaftClusterConfig>;
